export const crudOptions = (vm) => {
  return {
    rowHandle: {
      view: {
        disabled () {
          // return !vm.hasPermissions('Retrieve')
          return false
        }
      },
      edit: {
        disabled () {
          // return !vm.hasPermissions('Update')
          return false
        }
      },
      remove: {
        disabled () {
          // return !vm.hasPermissions('Delete')
          return false
        }
      },
      fixed: 'right'
    },
    options: {
      tableType: 'vxe-table',
      rowKey: true, // 必须设置，true or false
      rowId: 'id',
      height: '100%', // 表格高度100%, 使用toolbar必须设置
      highlightCurrentRow: false
    },
    formOptions: { // 表单宽度
      defaultSpan: 24, // 默认的表单 span
      width: '35%'
    },
    indexRow: { // 序号
      title: '序号',
      align: 'center',
      width: 60
    },
    selectionRow: { // 多选框
      align: 'center',
      width: 46
    },
    columns: [
      {
        title: '',
        key: 'id',
        form: { // 表单配置
          disabled: true // 禁用表单编辑
        },
        // type: 'select',
        // dict: { url: ''}, //数据字典
        // search: { disabled: false }, // 开启查询
        disabled: true, // 隐藏列
        sortable: true
      },
      {
        title: '环境名称',
        key: 'env_name',
        // type: 'select',
        // dict: { url: ''}, //数据字典
        search: { disabled: false }, // 开启查询
        // disabled: true, // 隐藏列
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '环境名称' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入环境名称'
          },
          itemProps: {
            class: { yxtInput: true }
          }
        },
        sortable: true
      },
      {
        title: '请求地址',
        key: 'base_url',
        // type: 'select',
        // dict: { url: ''}, //数据字典
        // search: { disabled: false }, // 开启查询
        // disabled: true, // 隐藏列
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '请求地址' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入请求地址'
          },
          itemProps: {
            class: { yxtInput: true }
          }
        },
        sortable: true
      },
      {
        title: '是否默认',
        key: 'default',
        type: 'switch',
        // dict: { url: ''}, //数据字典
        // search: { disabled: false }, // 开启查询
        // disabled: true, // 隐藏列
        form: { // 表单配置
          value: false,
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '是否默认' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入是否默认'
          },
          itemProps: {
            class: { yxtInput: true }
          }
        },
        component: {
          props: {
            'active-text': '是',
            'inactive-text': '否'
          },
          on: {
            change (event) { vm.onSwitchTask(event.scope) }
          }
        },
        sortable: true
      },
      {
        title: '环境参数',
        key: 'paramsbody',
        type: 'textarea',
        showOverflow: true,
        // type: 'select',
        // dict: { url: ''}, //数据字典
        // search: { disabled: false }, // 开启查询
        // disabled: true, // 隐藏列
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          // rules: [{ required: true, message: '环境参数' }],
          component: {
            placeholder: '环境参数',
            showWordLimit: true,
            maxlength: '200',
            props: {
              type: 'textarea'
            }
          }
          // itemProps: {
          //   class: { yxtInput: true }
          // }
        },
        sortable: true
      }
    ].concat(vm.commonEndColumns({
      update_datetime: { showTable: false },
      description: { showForm: false }
    }))
  }
}
